﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Runtime.Serialization;

namespace XAPI.Domain
{
    /// <summary>
    /// The Object of a Statement can be an Activity, Agent/Group, Sub-Statement, or Statement Reference.
    /// It is the "this" part of the Statement, i.e., "I did this".
    /// Some examples:
    /// • The object is an Activity: "Jeff wrote an essay about hiking."
    /// • The Object is an Agent: "Nellie interviewed Jeff."
    /// • The Object is Sub-Statement or Statement Reference (different implementations, but similar when 
    /// human-read): "Nellie commented on 'Jeff wrote an essay about hiking. ' "
    /// Details Objects which are provided as a value for this field SHOULD include an "objectType" field. If not 
    /// specified, the objectType is assumed to be "Activity". Other valid values are: Agent, Group, SubStatement or StatementRef. The properties of an Object change according to the objectType.
    /// </summary>
    public class XObject
    {
        [DataMember(Name = "objectType")]
        public string ObjectType { get; set; }
    }
}